package com.trainoo.ali.guideline;

import java.util.HashMap;
import java.util.Map;

/**
 * Map的遍历规范，参考ali开发手册
 *
 * @author zt
 * @date 2020/6/6 14:27
 */
public class MapForeach {

    private static Map<String, Object> map = new HashMap<>();

    static {
        map.put("1", "A");
        map.put("2", "B");
        map.put("3", "C");
        map.put("4", "D");
        map.put("5", "E");
    }

    public static void main(String[] args) {

        // 不推荐使用, keySet 其实是遍历了 2 次，一次是转为 Iterator 对象，另一次是从 hashMap 中取出 key 所对应的 value。
        for (String key : map.keySet()) {
            System.out.println(map.get(key));
        }

        // 推荐使用, entrySet 只是遍历了一次就把 key 和 value 都放到了 entry 中，效率更高。
        for (Map.Entry<String, Object> entry : map.entrySet()) {
            System.out.println(entry.getKey() + "-" + entry.getValue());
        }

        // 推荐使用, jdk8
        map.forEach((k, v) -> System.out.println(k + v));
    }
}


